println("getDecimal")
if(binding.containsKey("getDecimal"))
	throw Exception("getDecimal already defined!")
val getDecimal: Double = callback("getDecimal")
val getDecimalType = getDecimal::class
println(getDecimalType)
println(getDecimal)
if(getDecimalType != Double::class)
	throw Exception("getDecimal not Double!")
callback<Unit>("setDecimal",getDecimal)

println("getDecimalVector")
if(binding.containsKey("getDecimalVector"))
	throw Exception("getDecimalVector already defined!")
val getDecimalVector: DoubleArray = callback("getDecimalVector")
val getDecimalVectorType = getDecimalVector[0]::class
println(getDecimalVectorType)
println(getDecimalVector)
if(getDecimalVectorType != Double::class)
	throw Exception("getDecimalVector not Double!")
callback<Unit>("setDecimalVector",getDecimalVector)

println("getDecimalVectorAsList")
if(binding.containsKey("getDecimalVectorAsList"))
	throw Exception("getDecimalVectorAsList already defined!")
val getDecimalVectorAsList: DoubleArray = callback("getDecimalVectorAsList")
val getDecimalVectorAsListType = getDecimalVectorAsList[0]::class
println(getDecimalVectorAsListType)
println(getDecimalVectorAsList)
if(getDecimalVectorAsListType != Double::class)
	throw Exception("getDecimalVectorAsList not Double!")
callback<Unit>("setDecimalVectorAsList",getDecimalVectorAsList)

println("getDecimalMatrix")
if(binding.containsKey("getDecimalMatrix"))
	throw Exception("getDecimalMatrix already defined!")
val getDecimalMatrix: Array<DoubleArray> = callback("getDecimalMatrix")
val getDecimalMatrixType = getDecimalMatrix[0][0]::class
println(getDecimalMatrixType)
println(getDecimalMatrix)
if(getDecimalMatrixType != Double::class)
	throw Exception("getDecimalMatrix not Double!")
callback<Unit>("setDecimalMatrix",getDecimalMatrix)

println("getDecimalMatrixAsList")
if(binding.containsKey("getDecimalMatrixAsList"))
	throw Exception("getDecimalMatrixAsList already defined!")
val getDecimalMatrixAsList: Array<DoubleArray> = callback("getDecimalMatrixAsList")
val getDecimalMatrixAsListType = getDecimalMatrixAsList[0][0]::class
println(getDecimalMatrixAsListType)
println(getDecimalMatrixAsList)
if(getDecimalMatrixAsListType != Double::class)
	throw Exception("getDecimalMatrixAsList not Double!")
callback<Unit>("setDecimalMatrixAsList",getDecimalMatrixAsList)
